Filtering Functions

Big Data and Analytics - ড্যাক্স ফাংশন (Dax Functions)
91
91

DAX (Data Analysis Expressions) একটি শক্তিশালী ভাষা যা Power BI, Power Pivot, এবং SQL Server Analysis Services (SSAS)-এ ডেটা বিশ্লেষণ এবং কাস্টম ক্যালকুলেশন তৈরি করতে ব্যবহৃত হয়। DAX-এ Filtering Functions ব্যবহার করে আপনি ডেটার মধ্যে নির্দিষ্ট শর্ত অনুসারে ফলাফল বা মান বের করতে পারেন। এই ফাংশনগুলি calculations, measures, tables, এবং columns এ ব্যবহৃত হয়, যেখানে নির্দিষ্ট শর্তের মাধ্যমে ডেটা ফিল্টার করতে হয়।

ফিল্টারিং ফাংশনগুলি সাধারণত CALCULATE, FILTER, ALL, RELATED, ISBLANK ইত্যাদি ব্যবহৃত হয়, যা ডেটার মধ্যে নির্দিষ্ট শর্তে বা ক্রাইটেরিয়াতে কাজ করে। এখানে আমরা DAX-এর কিছু জনপ্রিয় ফিল্টারিং ফাংশন এবং তাদের ব্যবহার সম্পর্কে বিস্তারিত আলোচনা করব।


১. CALCULATE()

CALCULATE ফাংশনটি DAX-এর সবচেয়ে শক্তিশালী এবং বহুল ব্যবহৃত ফাংশনগুলির মধ্যে একটি। এটি একটি ক্যালকুলেশনকে একটি বা একাধিক ফিল্টারের ভিত্তিতে পরিবর্তন করতে ব্যবহৃত হয়।

Syntax:

CALCULATE(<expression>, <filter1>, <filter2>, ...)

ব্যবহার:

CALCULATE ফাংশনটি একটি এক্সপ্রেশন (যেমন SUM(), AVERAGE()) এবং একটি বা একাধিক ফিল্টার শর্ত নিয়ে কাজ করে।

উদাহরণ: যদি আপনি Sales টেবিলের বিক্রয়ের মোট পরিমাণ জানাতে চান এবং শুধুমাত্র Region "East" এর জন্য তা দেখতে চান:

Total Sales East = CALCULATE(SUM(Sales[Amount]), Sales[Region] = "East")

এটি Sales[Amount] কলামের মোট যোগফল বের করবে, তবে শুধুমাত্র "East" অঞ্চলের জন্য।


২. FILTER()

FILTER ফাংশনটি একটি টেবিলের মধ্যে একটি নির্দিষ্ট শর্তের ভিত্তিতে ডেটা ফিল্টার করতে ব্যবহৃত হয়। এটি একটি নতুন টেবিল তৈরি করে, যেটি ঐ শর্ত পূর্ণ করে।

Syntax:

FILTER(<table>, <condition>)

ব্যবহার:

FILTER ফাংশনটি একটি টেবিলের মধ্যে শর্তানুসারে মান ফিল্টার করে।

উদাহরণ: আপনি যদি Sales টেবিলের মধ্যে শুধুমাত্র বিক্রয়ের পরিমাণ 1000 এর বেশি আছে এমন রেকর্ড ফিল্টার করতে চান:

High Sales = FILTER(Sales, Sales[Amount] > 1000)

এটি শুধুমাত্র সেই সারিগুলি ফিরিয়ে দেবে যেখানে Sales[Amount] 1000 এর বেশি।


৩. ALL()

ALL ফাংশনটি একটি টেবিল বা কলাম থেকে সমস্ত ফিল্টার সরিয়ে দেয় এবং তারপরে সেই টেবিল বা কলামের জন্য গণনা করে। এটি বিশেষ করে যখন আপনি টেবিলের overall total দেখতে চান এবং ফিল্টারিং প্রভাব এড়াতে চান।

Syntax:

ALL(<table_or_column>)

ব্যবহার:

ALL ফাংশনটি ফিল্টারিং বাদ দিয়ে একটি সম্পূর্ণ টেবিল বা কলাম ফেরত দেয়।

উদাহরণ: আপনি যদি Sales টেবিলের মোট বিক্রয় জানতে চান, তবে সমস্ত ফিল্টার বাদ দিয়ে এটি ব্যবহার করতে পারেন:

Total Sales All = CALCULATE(SUM(Sales[Amount]), ALL(Sales))

এটি Sales[Amount] কলামের মোট যোগফল ফেরত দেবে, তবে কোন ফিল্টার প্রভাব ফেলবে না।


৪. ALLSELECTED()

ALLSELECTED ফাংশনটি ALL এর মতো কাজ করে, তবে এটি যে ফিল্টারগুলি রিপোর্ট বা ভিজ্যুয়ালাইজেশন থেকে নির্বাচিত হয়েছে তা বজায় রাখে। এটি সাধারণত dynamic reporting এর জন্য ব্যবহৃত হয়।

Syntax:

ALLSELECTED(<table_or_column>)

ব্যবহার:

এটি ফিল্টারিং প্রসেসের মধ্যে নির্বাচিত ফিল্টার বজায় রেখে ডেটা ফেরত দেয়।

উদাহরণ: আপনি যদি নির্বাচিত অঞ্চলগুলির জন্য Sales টেবিলের বিক্রয়ের মোট পরিমাণ জানতে চান:

Sales by Selected Region = CALCULATE(SUM(Sales[Amount]), ALLSELECTED(Sales[Region]))

এটি শুধুমাত্র নির্বাচিত Region-এর জন্য মোট বিক্রয় প্রদর্শন করবে।


৫. RELATED()

RELATED ফাংশনটি সম্পর্কিত টেবিল থেকে একটি মান ফিরিয়ে আনে, যেখানে সম্পর্কিত কলাম দুটি টেবিলের মধ্যে সম্পর্কযুক্ত থাকে। এটি সাধারণত একটি one-to-many সম্পর্কের জন্য ব্যবহৃত হয়।

Syntax:

RELATED(<column>)

ব্যবহার:

RELATED ফাংশনটি অন্য টেবিলের একটি কলামের মান ফিরিয়ে আনে, যখন দুটি টেবিলের মধ্যে সম্পর্ক তৈরি করা থাকে।

উদাহরণ: ধরা যাক, আপনার কাছে Sales টেবিল এবং Customer টেবিল রয়েছে। আপনি যদি Customer[Region] কলামের মান Sales টেবিলের সাথে সম্পর্কযুক্ত দেখতে চান:

Customer Region = RELATED(Customer[Region])

এটি Sales টেবিলের প্রতিটি সারির জন্য Customer[Region] কলামের মান ফেরত দেবে।


৬. ISBLANK()

ISBLANK ফাংশনটি একটি মান পরীক্ষা করে এবং যদি সেটি শূন্য বা খালি থাকে, তবে TRUE ফেরত দেয়, অন্যথায় FALSE ফেরত দেয়।

Syntax:

ISBLANK(<value>)

ব্যবহার:

ISBLANK ফাংশনটি সাধারণত conditional logic বা filtering ফাংশনগুলির সাথে ব্যবহৃত হয়।

উদাহরণ: আপনি যদি জানাতে চান যে কোন Sales রেকর্ডে পরিমাণ শূন্য বা খালি আছে:

No Sales = IF(ISBLANK(Sales[Amount]), "No Sales", "Sales Exist")

এটি যদি Sales[Amount] কলামে কোনো মান না থাকে, তাহলে "No Sales" দেখাবে, অন্যথায় "Sales Exist" দেখাবে।


সারাংশ

DAX Filtering Functions ডেটার উপর শর্ত ভিত্তিক বিশ্লেষণ এবং কাস্টম ক্যালকুলেশন তৈরিতে সহায়ক। CALCULATE, FILTER, ALL, ALLSELECTED, RELATED, এবং ISBLANK ফাংশনগুলি ডেটার বিভিন্ন শর্ত অনুসারে পরিবর্তন করতে সক্ষম, এবং এটির মাধ্যমে আপনি আপনার বিশ্লেষণকে আরও শক্তিশালী এবং গতিশীল করতে পারেন। CALCULATE এবং FILTER হল সবচেয়ে জনপ্রিয় ফাংশন, যা ব্যবহৃত শর্ত অনুযায়ী গণনা করতে সাহায্য করে এবং ডেটার উপর আরও গভীর বিশ্লেষণ প্রদান করে।

Content added By

CALCULATE এর মাধ্যমে Filter যোগ করা

80
80

DAX (Data Analysis Expressions) একটি শক্তিশালী এক্সপ্রেশন ভাষা যা Power BI, PowerPivot, এবং SQL Server Analysis Services (SSAS)-এ ব্যবহৃত হয়। DAX-এ CALCULATE ফাংশনটি অত্যন্ত গুরুত্বপূর্ণ, কারণ এটি filter context তৈরি করে এবং কোনো নির্দিষ্ট কন্ডিশনের ভিত্তিতে ক্যালকুলেশন পরিবর্তন করতে ব্যবহৃত হয়। CALCULATE ফাংশনটি মূলত condition-based calculations বা filter-based calculations করার জন্য ব্যবহৃত হয়, যা বিশ্লেষণ এবং রিপোর্টে পরিবর্তনশীলতা নিয়ে আসে।

এই প্রবন্ধে আমরা CALCULATE ফাংশনের মাধ্যমে Filter যোগ করার পদ্ধতি এবং এর ব্যবহার নিয়ে আলোচনা করব।


CALCULATE ফাংশন

CALCULATE ফাংশনটি DAX-এর একটি অত্যন্ত শক্তিশালী ফাংশন, যা একটি কাস্টম ক্যালকুলেশন তৈরি করতে ব্যবহার করা হয়। এটি কোনো নির্দিষ্ট filter context-এ ক্যালকুলেশন করতে পারে।

Syntax:

CALCULATE(<expression>, <filter1>, <filter2>, ...)
  • : এটি সেই ক্যালকুলেশন যা আপনি করতে চান, যেমন SUM, AVERAGE, COUNT, ইত্যাদি।
  • , , ...: এখানে এক বা একাধিক ফিল্টার যোগ করা হয়, যা ক্যালকুলেশনটি নির্দিষ্ট কন্ডিশনের ভিত্তিতে পরিবর্তন করবে।

ব্যবহার:

CALCULATE ফাংশনটি মূলত ফিল্টার শর্তে aggregation বা কাস্টম ক্যালকুলেশন করতে ব্যবহৃত হয়। এই ফাংশনটি ফিল্টার কন্ডিশন অনুযায়ী ডেটার সিলেকশন পরিবর্তন করতে পারে এবং সংশ্লিষ্ট ফলাফল রিটার্ন করে।


CALCULATE ফাংশনের মাধ্যমে Filter যোগ করা

CALCULATE ফাংশন ব্যবহার করে আপনি ডেটার উপর filtering প্রয়োগ করতে পারেন। এটি filter context পরিবর্তন করে ক্যালকুলেশনটি প্রভাবিত করে।

১. Filter Based on a Condition

ধরা যাক, আপনি Sales টেবিলের Amount এর যোগফল চান, কিন্তু আপনি শুধুমাত্র East অঞ্চলের বিক্রয় ক্যালকুলেট করতে চান। তখন আপনি CALCULATE ফাংশন ব্যবহার করবেন এইভাবে:

Total Sales East = CALCULATE(SUM(Sales[Amount]), Sales[Region] = "East")

এই ফর্মুলাটি Sales টেবিলের Amount কলামের যোগফল গণনা করবে, তবে শুধুমাত্র Sales[Region] কলামে "East" মান থাকলে।

২. Multiple Filters

আপনি একাধিক filter যোগ করতে পারেন, এবং তখন ক্যালকুলেশন শুধুমাত্র উল্লিখিত শর্তগুলির উপর ভিত্তি করে হবে।

যেমন, আপনি যদি East অঞ্চলের sales এর যোগফল চান, যেখানে Sales[Amount] 1000 এর বেশি, তাহলে এটি করা হবে:

Total Sales East > 1000 = CALCULATE(SUM(Sales[Amount]), Sales[Region] = "East", Sales[Amount] > 1000)

এই ফর্মুলাটি Sales টেবিলের Amount এর যোগফল গণনা করবে, যেখানে Region "East" এবং Amount 1000 এর বেশি।

৩. Filter with Date

ধরা যাক, আপনি Sales টেবিলের Amount এর যোগফল চান, তবে শুধুমাত্র 2023 সালের January মাসের বিক্রয় দেখতে চান। আপনি CALCULATE ফাংশনে DATE ফিল্টার যোগ করতে পারেন:

Total Sales Jan 2023 = CALCULATE(SUM(Sales[Amount]), YEAR(Sales[Date]) = 2023, MONTH(Sales[Date]) = 1)

এই ফর্মুলাটি Sales টেবিলের Amount কলামের যোগফল কেবলমাত্র 2023 সালের January মাসের ডেটা নিয়ে গণনা করবে।

৪. Using Logical Conditions in Filters

ফিল্টারের মধ্যে logical expressions যেমন AND, OR, বা NOT ব্যবহার করতে পারেন। উদাহরণস্বরূপ, আপনি যদি চান যে Amount 1000 এর বেশি এবং Region "East" না হলে Total Sales গণনা হোক:

Total Sales Excluding East = CALCULATE(SUM(Sales[Amount]), Sales[Amount] > 1000, Sales[Region] <> "East")

এই ফর্মুলাটি Sales টেবিলের Amount এর যোগফল গণনা করবে, তবে যেখানে Amount 1000 এর বেশি এবং Region "East" নয়।


CALCULATE ফাংশনের সঙ্গে Advanced Filtering

১. Using ALL Function to Remove Filters

ALL ফাংশনটি ব্যবহৃত হয় ফিল্টার মুছে ফেলতে, যা এক্সপ্রেশন বা ক্যালকুলেশনের জন্য সমস্ত ফিল্টার অপসারণ করতে ব্যবহৃত হয়। উদাহরণস্বরূপ, আপনি যদি সমস্ত Sales[Region] এর উপর ভিত্তি করে একটি ক্যালকুলেশন করতে চান, তবে:

Total Sales All Regions = CALCULATE(SUM(Sales[Amount]), ALL(Sales[Region]))

এটি Sales টেবিলের Amount এর যোগফল গণনা করবে, যেখানে Region কলামে কোনো ফিল্টার প্রয়োগ করা হবে না।

২. Using ALLEXCEPT to Retain Some Filters

ALLEXCEPT ফাংশনটি ব্যবহৃত হয় কিছু নির্দিষ্ট কলামের ফিল্টার রাখার জন্য এবং বাকি সব ফিল্টার মুছে ফেলার জন্য। যেমন, আপনি যদি Region ফিল্টার ধরে রেখে অন্য সকল ফিল্টার মুছে ফেলতে চান:

Total Sales by Region = CALCULATE(SUM(Sales[Amount]), ALLEXCEPT(Sales, Sales[Region]))

এটি Sales টেবিলের Amount এর যোগফল গণনা করবে, কিন্তু শুধুমাত্র Region কলামের ফিল্টার রাখবে, এবং বাকি সকল ফিল্টার বাদ দিবে।


সারাংশ

CALCULATE ফাংশন DAX-এর সবচেয়ে শক্তিশালী এবং গুরুত্বপূর্ণ ফাংশনগুলির মধ্যে একটি, যা আপনাকে filter context তৈরি করার জন্য ব্যবহার করতে সহায়ক। এটি আপনাকে ডেটার উপর custom filters প্রয়োগ করার সুযোগ দেয়, যেমন একাধিক শর্তের ভিত্তিতে ক্যালকুলেশন পরিবর্তন করা। CALCULATE ব্যবহার করে আপনি aggregation, conditional calculations, time intelligence, এবং complex filtering করতে পারেন, যা আপনার বিশ্লেষণকে আরও উন্নত এবং কার্যকরী করে তোলে।

Content added By

FILTER এবং ALL এর মাধ্যমে Data Context পরিবর্তন করা

134
134

DAX (Data Analysis Expressions) একটি শক্তিশালী ভাষা যা Power BI, Power Pivot এবং SQL Server Analysis Services (SSAS)-এ ডেটা বিশ্লেষণ এবং রিপোর্ট তৈরি করতে ব্যবহৃত হয়। DAX ফাংশন ব্যবহার করে ডেটার context পরিবর্তন করা যেতে পারে, যার ফলে আপনি আরও সঠিক বিশ্লেষণ এবং রিপোর্ট তৈরি করতে পারেন। দুটি গুরুত্বপূর্ণ ফাংশন যা ডেটার কন্টেক্সট পরিবর্তন করতে সহায়ক, তা হলো FILTER এবং ALL

এই প্রবন্ধে, আমরা FILTER এবং ALL ফাংশন ব্যবহার করে কিভাবে data context পরিবর্তন করা যায়, তা আলোচনা করব।


Data Context কী?

Data Context হল সেই পরিবেশ বা শর্ত যা দ্বারা কোনও DAX ফাংশন বা ক্যালকুলেশন প্রভাবিত হয়। এটি নির্ধারণ করে যে কোন ডেটা সেট ব্যবহার করে একটি ক্যালকুলেশন করা হবে। DAX-এ row context এবং filter context দুটি প্রধান ধরনের কন্টেক্সট রয়েছে।

  • Row Context: একক সারি বিশ্লেষণ করার সময় ডেটার পরিপ্রেক্ষিত।
  • Filter Context: সমস্ত ডেটা সেটের মধ্যে কিছু ডেটার শর্ত অনুযায়ী ক্যালকুলেশন প্রভাবিত হওয়া।

FILTER এবং ALL ফাংশন এই কন্টেক্সট পরিবর্তন করতে ব্যবহৃত হয়, যা ডেটার সঠিক বিশ্লেষণ এবং কাস্টম ক্যালকুলেশন তৈরি করতে সাহায্য করে।


FILTER ফাংশন

FILTER ফাংশনটি একটি টেবিল বা কলাম থেকে ডেটাকে ফিল্টার করে, এবং এটি শর্ত (condition) বা কন্ডিশন অনুযায়ী নির্দিষ্ট ডেটা নির্বাচন করতে ব্যবহৃত হয়।

সিনট্যাক্স:

FILTER(<table>, <condition>)
  • : টেবিল বা কলাম যা আপনি ফিল্টার করতে চান।
  • : শর্ত বা কন্ডিশন যা নির্ধারণ করবে কোন ডেটা নির্বাচিত হবে।

ব্যবহার:

ধরা যাক, আপনার Sales টেবিল রয়েছে এবং আপনি ২০২৪ সালের sales amount এর উপর ভিত্তি করে ক্যালকুলেশন করতে চান। এর জন্য FILTER ফাংশন ব্যবহার করা যেতে পারে:

Sales_2024 = 
CALCULATE(
    SUM(Sales[Sales Amount]),
    FILTER(Sales, Sales[Year] = 2024)
)

এখানে:

  • FILTER(Sales, Sales[Year] = 2024): এই শর্তটি Sales টেবিল থেকে ২০২৪ সালের সমস্ত sales data ফিল্টার করে।

FILTER ফাংশন কন্টেক্সটের উপর ভিত্তি করে ডেটা সিলেক্ট করে এবং সঠিক ফলাফল পাওয়ার জন্য ক্যালকুলেশন পরিবর্তন করে।


ALL ফাংশন

ALL ফাংশনটি একটি টেবিল বা কলামের filter context মুছে ফেলে, অর্থাৎ এটি একটি টেবিল বা কলাম থেকে সমস্ত ফিল্টার অপসারণ করে এবং পুরো ডেটাসেট ব্যবহার করার সুযোগ দেয়।

সিনট্যাক্স:

ALL(<table> | <column>)
  • : টেবিল যার থেকে ফিল্টার অপসারণ করতে চান।
  • : নির্দিষ্ট কলাম যার থেকে ফিল্টার অপসারণ করতে চান।

ব্যবহার:

ধরা যাক, আপনি চান Sales টেবিল থেকে সমস্ত ডেটা নিয়ে Total Sales হিসাব করতে, এমনকি অন্যান্য ফিল্টার থাকলেও:

Total_Sales_Without_Filter = 
CALCULATE(
    SUM(Sales[Sales Amount]),
    ALL(Sales)
)

এখানে:

  • ALL(Sales): এই ফাংশনটি সমস্ত ফিল্টার অপসারণ করে এবং Sales টেবিলের পুরো ডেটাসেট ব্যবহার করে।

এটি এমন একটি ক্ষেত্রে সহায়ক যেখানে আপনি সমস্ত ডেটার ওপর ভিত্তি করে একটি ক্যালকুলেশন করতে চান, ফিল্টার প্রভাবিত না হওয়া উচিত।


FILTER এবং ALL ফাংশনের মাধ্যমে Data Context পরিবর্তন করা

DAX-এ FILTER এবং ALL ফাংশন ব্যবহার করে আপনি ডেটার কন্টেক্সট পরিবর্তন এবং কাস্টম ক্যালকুলেশন করতে পারেন। এই দুটি ফাংশনের মাধ্যমে আপনি:

১. ফিল্টার কন্টেক্সট হ্যান্ডেল করা:

FILTER ফাংশন ব্যবহার করে নির্দিষ্ট শর্ত বা কন্ডিশন অনুযায়ী ডেটাকে ফিল্টার করা যায়। এটি ফিল্টার কন্টেক্সট পরিবর্তন করে এবং শুধুমাত্র প্রয়োজনীয় ডেটাকে বিশ্লেষণ করার সুযোগ দেয়।

২. ফিল্টার অপসারণ করা:

ALL ফাংশন ব্যবহার করে একটি টেবিল বা কলাম থেকে সমস্ত ফিল্টার অপসারণ করা যায়। এটি ডেটার উপর কোনও কন্টেক্সট প্রভাব না পড়তে দেয় এবং পুরো ডেটাসেট ব্যবহার করে ক্যালকুলেশন করতে সহায়ক।

৩. ডেটার উপর কাস্টম ক্যালকুলেশন তৈরি করা:

উপরের দুটি ফাংশন ব্যবহারের মাধ্যমে, আপনি আপনার ডেটা বিশ্লেষণে আরও কাস্টম ক্যালকুলেশন তৈরি করতে পারেন, যা আপনার চাহিদা অনুযায়ী রিপোর্ট এবং ড্যাশবোর্ড তৈরি করতে সাহায্য করে।


সারাংশ

FILTER এবং ALL ফাংশন DAX-এর শক্তিশালী টুল, যা data context পরিবর্তন করতে ব্যবহৃত হয়। FILTER ফাংশন ব্যবহার করে আপনি নির্দিষ্ট শর্তের ভিত্তিতে ডেটা ফিল্টার করতে পারেন, এবং ALL ফাংশন ব্যবহার করে আপনি কোনও ফিল্টারের প্রভাব অপসারণ করতে পারেন। এই দুটি ফাংশন ডেটা বিশ্লেষণ এবং কাস্টম ক্যালকুলেশন তৈরি করার ক্ষেত্রে অত্যন্ত গুরুত্বপূর্ণ। DAX ব্যবহারকারীরা এই ফাংশনগুলির সাহায্যে আরও উন্নত বিশ্লেষণ এবং রিপোর্ট তৈরি করতে সক্ষম হন।

Content added By

VALUES, SELECTEDVALUE Functions এর ব্যবহার

87
87

DAX (Data Analysis Expressions) হল একটি শক্তিশালী ভাষা যা Power BI, Excel PowerPivot, এবং SQL Server Analysis Services (SSAS) তে ডেটা বিশ্লেষণ এবং কাস্টম ক্যালকুলেশন তৈরি করতে ব্যবহৃত হয়। ড্যাক্সের VALUES এবং SELECTEDVALUE ফাংশন দুটি গুরুত্বপূর্ণ ফাংশন যা ডেটার বিভিন্ন ইউনিক মান বা সিলেক্টেড মান (selected values) বের করতে ব্যবহৃত হয়। এই ফাংশনগুলি বিশেষভাবে filter context এবং user selection এর ভিত্তিতে কার্যকরীভাবে কাজ করে।


১. VALUES ফাংশন

VALUES ফাংশনটি একটি কলামে বা এক্সপ্রেশনে ইউনিক (distinct) মানের একটি তালিকা তৈরি করে। এটি সাধারণত filter context-এ ব্যবহৃত হয় এবং বিশেষভাবে relationships তৈরি করার সময়, একাধিক মান এবং একক মান বের করতে ব্যবহৃত হয়।

Syntax:

VALUES(<Column>)

ব্যবহার:

VALUES ফাংশনটি একটি কলামের সমস্ত ইউনিক মানগুলি ফেরত দেয়। এটি খুবই উপকারী যখন আপনি ডেটা মডেলে একাধিক মানের উপর ভিত্তি করে পরবর্তী কাস্টম ক্যালকুলেশন করতে চান।

উদাহরণ:

ধরা যাক, আপনার কাছে একটি Sales টেবিল আছে এবং আপনি জানাতে চান কতগুলি ইউনিক পণ্য বিক্রি হয়েছে, তাহলে আপনি VALUES ফাংশন ব্যবহার করতে পারেন।

Unique Products Sold = VALUES(Sales[ProductID])

এটি Sales টেবিলের ProductID কলামের ইউনিক মানগুলির একটি তালিকা তৈরি করবে।

VALUES ফাংশনটি এমন ক্ষেত্রেও ব্যবহৃত হয় যখন একটি একক মান নির্ধারণের চেষ্টা করা হয়। যদি ProductID কলামে একাধিক মান থাকে, তবে এটি সমস্ত ইউনিক মান ফিরিয়ে দেবে, কিন্তু যদি কলামে শুধুমাত্র একটি মান থাকে, তাহলে এটি একক মান ফিরিয়ে দেবে।


২. SELECTEDVALUE ফাংশন

SELECTEDVALUE ফাংশনটি DAX-এ একটি খুবই কার্যকরী ফাংশন, যা একক মান বা নির্বাচিত মান ফিরিয়ে দেয়। এটি সাধারণত filters অথবা slicers এর সাথে ব্যবহৃত হয়, যখন একজন ব্যবহারকারী কোনও নির্দিষ্ট মান নির্বাচন করে এবং সেই মানটি ব্যবহার করা হয়।

Syntax:

SELECTEDVALUE(<Column>, <alternate_result>)
  • <Column>: কলামটি যেটি থেকে মান নির্বাচন করা হবে।
  • <alternate_result> (optional): যদি একটি একক মান নির্বাচিত না হয়, তাহলে এটি একটি বিকল্প মান প্রদান করে।

ব্যবহার:

SELECTEDVALUE ফাংশনটি সাধারণত slicer বা filter ব্যবহারকারীদের পছন্দ অনুযায়ী একক মান নির্বাচন করার সময় ব্যবহৃত হয়। এটি খুবই উপকারী যখন আপনি একটি নির্দিষ্ট মান বের করতে চান, যেমন Power BI ড্যাশবোর্ডে ইউজার সিলেকশন বা filters এর সাথে কাজ করার সময়।

উদাহরণ:

ধরা যাক, আপনি Sales টেবিলের Region কলামের উপর একটি slicer ব্যবহার করছেন এবং আপনি দেখতে চান যে ইউজার কোন অঞ্চলের বিক্রয় দেখতে চাচ্ছে:

Selected Region = SELECTEDVALUE(Sales[Region], "All Regions")

এটি যদি একটি একক Region নির্বাচন করা থাকে তবে সেই মান ফেরত দিবে, অন্যথায় এটি "All Regions" ফেরত দেবে।

SELECTEDVALUE ফাংশনটি সাধারণত single value নির্বাচন করার সময় ব্যবহৃত হয়, যেমন যখন আপনি চান যে একটি নির্দিষ্ট সিলেক্টেড মান (যেমন, Product Category, Region, ইত্যাদি) কে ফলস্বরূপ হিসেবে ব্যবহার করতে পারেন।


VALUES এবং SELECTEDVALUE ফাংশনের পার্থক্য

ফাংশনকাজের ধরনব্যবহার উদাহরণ
VALUESএকটি কলামের সমস্ত ইউনিক মান ফিরিয়ে দেয়। একাধিক মানও ফিরিয়ে দিতে পারে।যখন একাধিক ইউনিক মানের তালিকা বা distinct values দরকার।
SELECTEDVALUEএকটি কলামের একক নির্বাচিত মান ফেরত দেয়, যদি একাধিক মান থাকে তবে একটি বিকল্প মান ফেরত দেয়।যখন একক মান প্রয়োজন এবং একাধিক মান হলে বিকল্প মান বা ডিফল্ট মান দরকার।

VALUES এবং SELECTEDVALUE ফাংশনের ব্যবহারিক সুবিধা

১. VALUES:

  • Filter Context: VALUES ফাংশনটি filter context ব্যবহারের জন্য উপকারী, যেমন একাধিক ইউনিক মানের তালিকা তৈরি করা।
  • Distinct Values: DISTINCTCOUNT বা FILTER ফাংশনের সঙ্গে VALUES ব্যবহার করে আপনি সহজে ইউনিক মানের সংখ্যা বা ফিল্টার করা ডেটা পেতে পারেন।

২. SELECTEDVALUE:

  • Single Value Selection: SELECTEDVALUE ফাংশনটি বিশেষভাবে Slicers বা Filters ব্যবহার করার সময় উপকারী, যেখানে ব্যবহারকারী একক মান নির্বাচন করে এবং সেই মানের ভিত্তিতে কাস্টম ক্যালকুলেশন করতে হয়।
  • User Interaction: SELECTEDVALUE ফাংশনটি ইউজার ইন্টারঅ্যাকশন অনুযায়ী ডেটা পরিবর্তন করতে সাহায্য করে, যেমন ইউজার একটি নির্দিষ্ট অঞ্চল বা পণ্য নির্বাচন করলে, সেই নির্বাচিত মানের ভিত্তিতে রিপোর্ট বা বিশ্লেষণ করা যায়।

সারাংশ

VALUES এবং SELECTEDVALUE DAX ফাংশন দুটি ব্যবহার করে আপনি একক বা ইউনিক মান বের করতে পারেন এবং ব্যবহারকারী নির্বাচনের ভিত্তিতে ডেটা বিশ্লেষণ করতে সক্ষম হন। VALUES ফাংশনটি একটি কলামের সকল ইউনিক মানের তালিকা ফেরত দেয়, তবে SELECTEDVALUE ফাংশনটি শুধুমাত্র একক মান ফেরত দেয় এবং একাধিক মান হলে একটি ডিফল্ট মান প্রদান করতে সক্ষম। এই ফাংশনগুলির মাধ্যমে আপনি Power BI বা Excel-এ আরও ইন্টার‌্যাকটিভ এবং কাস্টম বিশ্লেষণ তৈরি করতে পারেন, যা ব্যবসায়িক সিদ্ধান্ত গ্রহণের জন্য সহায়ক।

Content added By

REMOVEFILTERS এবং KEEPFILTERS এর মাধ্যমে Filters নিয়ন্ত্রণ করা

83
83

DAX (Data Analysis Expressions) হল একটি শক্তিশালী ভাষা যা Power BI, Power Pivot, এবং SQL Server Analysis Services (SSAS)-এ ব্যবহৃত হয়। REMOVEFILTERS এবং KEEPFILTERS ফাংশন দুটি অত্যন্ত গুরুত্বপূর্ণ টুল, যা filters নিয়ন্ত্রণ করার জন্য ব্যবহৃত হয়। এই ফাংশনগুলির মাধ্যমে আপনি ডেটা বিশ্লেষণের সময় কীভাবে ফিল্টার প্রভাবিত হবে তা নির্ধারণ করতে পারেন এবং ডেটার সঠিকতা এবং বিশ্লেষণ ক্ষমতা বজায় রাখতে পারেন।

ফিল্টার ব্যবস্থাপনা সঠিকভাবে করা গেলে, এটি ব্যবসায়িক সিদ্ধান্ত গ্রহণের জন্য খুবই গুরুত্বপূর্ণ তথ্য প্রদান করতে পারে। REMOVEFILTERS এবং KEEPFILTERS ব্যবহার করে আপনি যেভাবে ফিল্টারগুলি পরিচালনা করবেন তা আপনাকে আরও গভীর বিশ্লেষণ এবং কাস্টম ক্যালকুলেশন তৈরিতে সহায়ক হতে পারে।


১. REMOVEFILTERS() ফাংশন

REMOVEFILTERS() ফাংশনটি ব্যবহার করে আপনি একটি টেবিল বা কলাম থেকে সব ফিল্টার সরিয়ে ফেলতে পারেন। এটি খুবই উপকারী যখন আপনি চান, একটি নির্দিষ্ট ক্যালকুলেশনে কোনো ফিল্টার প্রভাবিত না হোক বা ক্যালকুলেশনকে সাধারণ করতে।

Syntax:

REMOVEFILTERS(<table_or_column>)
  • <table_or_column>: এখানে আপনি যে টেবিল বা কলাম থেকে ফিল্টার সরিয়ে ফেলতে চান, তা উল্লেখ করবেন।

ব্যবহার:

ধরা যাক, আপনার Sales টেবিল রয়েছে এবং আপনি Region কলামের উপর প্রভাবিত ফিল্টার সরিয়ে ফেলতে চান, তাহলে আপনি এই ফাংশন ব্যবহার করতে পারেন:

Total Sales Without Region Filter = CALCULATE(SUM(Sales[Amount]), REMOVEFILTERS(Sales[Region]))

এই ফাংশনটি Sales টেবিলের Region কলামের উপর কোনো ফিল্টার প্রভাব ফেলবে না এবং Sales[Amount] এর মোট মান হিসাব করবে।

কখন ব্যবহার করবেন REMOVEFILTERS:

  • যখন আপনি চাইবেন নির্দিষ্ট কোনো ফিল্টার বা শর্তের প্রভাব থেকে বেরিয়ে আসতে।
  • ALL ফাংশনের সাথে REMOVEFILTERS ব্যবহার করা সাধারণ একটি কৌশল, কারণ এটি সব ফিল্টার সরিয়ে দিয়ে সেরা ফলাফল প্রদান করতে সাহায্য করে।

২. KEEPFILTERS() ফাংশন

KEEPFILTERS() ফাংশনটি যখন ব্যবহার করা হয়, এটি নির্দিষ্ট ফিল্টার বা শর্তগুলিকে বজায় রাখে, কিন্তু অন্য কোনো ফিল্টার পরিবর্তন বা হালকা ক্যালকুলেশন করতে দেয় না। এটি ফিল্টারিং ব্যবস্থাকে বজায় রেখে একটি কাস্টম ক্যালকুলেশন করতে সহায়ক।

Syntax:

KEEPFILTERS(<expression>)
  • <expression>: এটি ফিল্টার বা শর্ত প্রয়োগ করতে হবে এমন অংশ বা ক্যালকুলেশন।

ব্যবহার:

ধরা যাক, আপনি Sales টেবিলের Amount কলামের উপর কাস্টম ক্যালকুলেশন করতে চান এবং শুধু Region ফিল্টার রাখতে চান। এই পরিস্থিতিতে, আপনি KEEPFILTERS ব্যবহার করতে পারেন:

Sales for Region = CALCULATE(SUM(Sales[Amount]), KEEPFILTERS(Sales[Region] = "East"))

এই ফাংশনটি শুধুমাত্র East অঞ্চলের ফিল্টার রেখে Sales[Amount] এর মোট মান নির্ধারণ করবে, অন্য কোন ফিল্টার প্রভাব ফেলবে না।

কখন ব্যবহার করবেন KEEPFILTERS:

  • যখন আপনি ফিল্টার বা শর্ত একটি নির্দিষ্ট অংশে রাখতে চান, কিন্তু অন্যান্য অংশে তা পরিবর্তিত বা প্রভাবিত হতে দেবেন না।
  • যখন আপনি চাইবেন যে একটি নির্দিষ্ট শর্ত বজায় থাকবে, তবে বাকি সমস্ত শর্তগুলো অবহেলা করতে।

REMOVEFILTERS এবং KEEPFILTERS এর মধ্যে পার্থক্য

ফিচারREMOVEFILTERSKEEPFILTERS
ফিল্টার ব্যবস্থাপনাসমস্ত ফিল্টার সরিয়ে ফেলবেনির্দিষ্ট ফিল্টার বজায় রাখবে
ব্যবহার ক্ষেত্রযখন ফিল্টারকে সম্পূর্ণভাবে অপসারণ করতে হবেযখন কিছু নির্দিষ্ট ফিল্টার থাকতে হবে
ফলাফলফিল্টার হীন ক্যালকুলেশনকাস্টম ফিল্টার ধরে রেখে ক্যালকুলেশন

DAX উদাহরণ (REMOVEFILTERS এবং KEEPFILTERS)

১. REMOVEFILTERS উদাহরণ (Removing All Filters)

ধরা যাক, আপনি Sales টেবিল থেকে সমস্ত ফিল্টার সরিয়ে মোট বিক্রয় সংখ্যা বের করতে চান, তবে Region কলামের উপর ফিল্টার থাকতে পারে:

Total Sales Without Filters = CALCULATE(SUM(Sales[Amount]), REMOVEFILTERS(Sales))

এটি Sales টেবিলের সমস্ত কলামের ফিল্টার সরিয়ে Sales[Amount] এর মোট মান বের করবে।

২. KEEPFILTERS উদাহরণ (Keep Specific Filter)

ধরা যাক, আপনি শুধু East অঞ্চলের বিক্রয় জানাতে চান এবং অন্যান্য অঞ্চলের ফিল্টার রাখবেন না:

East Region Sales = CALCULATE(SUM(Sales[Amount]), KEEPFILTERS(Sales[Region] = "East"))

এটি শুধুমাত্র East অঞ্চলের বিক্রয় সংখ্যা বের করবে, এবং অন্য কোনো ফিল্টার প্রভাব ফেলবে না।


সারাংশ

REMOVEFILTERS এবং KEEPFILTERS ফাংশনগুলি DAX এর অত্যন্ত গুরুত্বপূর্ণ টুলস যা ডেটা বিশ্লেষণের সময় ফিল্টার ব্যবস্থাপনা সহজ এবং কার্যকর করে। REMOVEFILTERS ব্যবহার করে আপনি ফিল্টার সরিয়ে ফেলতে পারেন এবং KEEPFILTERS ব্যবহার করে আপনি নির্দিষ্ট শর্ত বজায় রেখে ক্যালকুলেশন করতে পারেন। এগুলি ব্যবহারের মাধ্যমে আপনি আরো উন্নত এবং কাস্টম বিশ্লেষণ তৈরি করতে পারবেন, যা ডেটা বিশ্লেষণ এবং রিপোর্টিং প্রক্রিয়াকে আরো কার্যকরী করে তোলে।

Content added By
Promotion